Skip to content

Build: Use major.minor versions in runtime-deps baselines#16233

Open
kevinjqliu wants to merge 2 commits into
apache:mainfrom
kevinjqliu:kevinjqliu/strict-runtime-deps
Open

Build: Use major.minor versions in runtime-deps baselines#16233
kevinjqliu wants to merge 2 commits into
apache:mainfrom
kevinjqliu:kevinjqliu/strict-runtime-deps

Conversation

@kevinjqliu
Copy link
Copy Markdown
Contributor

@kevinjqliu kevinjqliu commented May 6, 2026

Summary

This PR changes checkRuntimeDeps to store only major.minor in runtime-deps.txt files.

Previously, runtime-deps.txt stored full major.minor.patch versions but checkRuntimeDeps only flagged mismatches at the major.minor level. This allowed Dependabot patch bumps (e.g. 5.6.0 → 5.6.1) to pass CI without updating the baseline, but over time the baselines drifted from the actual resolved dependencies, causing PRs like #16204 to merge with stale baselines.

By storing only major.minor in the baseline, both generateRuntimeDeps and checkRuntimeDeps now operate on the same coordinates. Patch bumps produce identical entries so Dependabot PRs pass freely, while major/minor changes, added deps, and removed deps still fail the check.

Testing

./gradlew generateRuntimeDeps -DallModules=true --rerun-tasks

@kevinjqliu
Copy link
Copy Markdown
Contributor Author

i was surprised by the drift in runtime-deps.txt, @RussellSpitzer wydt about this pattern to autoupdate for dependabot?

@kevinjqliu kevinjqliu requested a review from RussellSpitzer May 6, 2026 21:01
@RussellSpitzer
Copy link
Copy Markdown
Member

@kevinjqliu Ryan and I discussed this in the previous work. Rather than letting dependapot automatically change the deps (or raise the change) we just decided to ignore patch updates. I still record them though so it may make sense to remove them

@RussellSpitzer
Copy link
Copy Markdown
Member

I think I would vote that we just drop the patch's from the dependency text to avoid the churn there.

@kevinjqliu kevinjqliu force-pushed the kevinjqliu/strict-runtime-deps branch from 430ab99 to 9bbf0b9 Compare May 9, 2026 16:53
@kevinjqliu kevinjqliu changed the title Build: Strict runtime-deps check and auto-regeneration for dependabot PRs Build: Use major.minor versions in runtime-deps baselines May 9, 2026
@github-actions github-actions Bot removed the INFRA label May 9, 2026
@kevinjqliu kevinjqliu force-pushed the kevinjqliu/strict-runtime-deps branch from d9426bd to 7ce9c66 Compare May 9, 2026 16:59
@kevinjqliu
Copy link
Copy Markdown
Contributor Author

I think I would vote that we just drop the patch's from the dependency text to avoid the churn there.

i like that more, made the change

@kevinjqliu kevinjqliu force-pushed the kevinjqliu/strict-runtime-deps branch from 7ce9c66 to 5bd85d8 Compare May 9, 2026 17:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants